package cn.myworld.algorithm.sort;

import cn.myworld.algorithm.common.BaseSort;

/**
 * 插入排序
 */
public class Insertion extends BaseSort {

    public static void sort(Comparable[] a) {
        for (int i = 1; i < a.length; i++) {
            for (int j = i; j > 0; j--) {
                // 比较索引j处的值和索引j-1处的值，如果索引j-1处的值大，则交换数据，反之已达到排序效果，结束循环
                if (greater(a[j-1], a[j])) {
                    exch(a, j, j-1);
                } else {
                    break;
                }
            }
        }
    }

}
